In communication systems, a transmitter processes and converts information into electrical signals and transmits the electrical signals through a communication channel to a receiving device. The receiving device on the other end of the communications channel processes the electrical signals to recover the information.
Such communication systems can include wireless systems, such as ad hoc wireless links, wireless telephone networks, short range wireless data networks (such as IEEE 802.3x wireless networks), satellite networks, and other wireless networks, as well as wired systems, such as cable network systems, wired local area networks, public switched networks, and the like. Regardless of the type of system used, the term “communications channel” refers to a physical or logical data link for carrying electrical or electromagnetic signals between a transmitting device and a receiving device. In wireless environments and in packet-switched environments, the communication channel defines a logical connection between two devices through one or more communication networks though the data packets may travel from a source to a destination device through different paths. In wireless environments, such communication channels carry radio frequency signals, which are electromagnetic waves having a frequency within a range of a few hundred Hertz (Hz) to several megahertz.
Numerous factors influence the speed, efficiency, and reliability of data communication through the communication channel, including, but not limited to, bandwidth, error performance, congestion, noise, and other factors. The term “throughput” refers to the actual amount of useful and non-redundant information transmitted from the transmitting device to the receiving device. In portable systems, movement of either device can cause performance of the communication channel to change over time. In some instances, the communication channel becomes impaired due to multipath reflections, attenuation, or noise, which can reduce the effective throughput.
One technique developed to mitigate the impact of channel impairments includes forward error correction (FEC) coding to allow for correction of channel-induced errors at the receiving device. As errors accumulate beyond what is correctable by the FEC coding, the receiving device requests retransmission from the transmitting device, and the transmitting device resends the requested data. Such retransmissions reduce the efficiency of the communication channel